package com.portal.system.parameter;

import java.util.ArrayList;
import java.util.List;

import com.portal.framework.common.PortalSearchBean;
import com.portal.framework.page.Pager;
import com.portal.system.parameter.dao.ParameterDao;
import com.portal.system.parameter.dto.ParameterDTO;
import com.portal.system.parameter.dto.ParameterResultBean;


	
/**
 * 
 * 项目名称: Portal     
 * 类名称:   ParameterServiceImpl     
 * 类描述:   系统参数 
 * 创建人:   骆海东
 * 创建时间: Sep 6, 2011 5:58:04 PM     
 * 最后修改人:   骆海东
 * 最后修改时间: Sep 6, 2011 5:58:04 PM     
 * 最后修改备注:
 */
public class ParameterServiceImpl implements ParameterService {

	private ParameterDao parameterDao;
	
	public Boolean addParameter(ParameterDTO parameterDTO) {
		 if(this.parameterDao.create(parameterDTO)!=null)return true;
		 else return false;
	}

	public int delParameter(Integer parameterId) {
		return this.parameterDao.delete(parameterId);
	}

	public int delParameterBatch(String[] asIdsStr) {
		int len=asIdsStr.length;
		Integer[] ids=new Integer[len];
		for (int i = 0; i <len; i++) {
			ids[i]=Integer.valueOf(asIdsStr[i]);
		}
		return this.parameterDao.deleteBatch(ids);
	}

	public ParameterDTO findByID(Integer parameterId) {
		return this.parameterDao.findById(parameterId);
	}


	public ParameterResultBean findParameter(PortalSearchBean portalSearchBean) {

		String countHql="select count(paraId) ";
		String hql=" from ParameterDTO ";
		//用于保存查找输入参数集合
		List<Object> osList=new ArrayList<Object>();
		if(portalSearchBean.getName()!=null&&!portalSearchBean.getName().trim().equals("")){
			hql=hql+"where name like ?";
			osList.add("%"+portalSearchBean.getName()+"%");
		}
		hql=hql+" order by paraId desc";
		//获取总数
		int count=this.parameterDao.countQuery(countHql+hql,osList.toArray());
		//设置页码对象
		Pager pager=new Pager();
		pager.setPageSize(portalSearchBean.getPageSize());
		pager.setTotal(count);
		pager.setCurrentPage(portalSearchBean.getPage());
		//获取数据
		List<ParameterDTO> olsit=this.parameterDao.find(pager.getStart(),pager.getPageSize(), ParameterDTO.class, hql, osList.toArray());
		//设置返回对象
		ParameterResultBean pb=new ParameterResultBean();
		pb.setCount(count);
		pb.setResultList(olsit);
		return pb;
	}

	public Boolean updateParameter(ParameterDTO parameterDTO) {
		if(this.parameterDao.update(parameterDTO)!=null)return true;
		else return false;
	}

	public List<ParameterDTO> findAll() {
		return this.parameterDao.findAll();
	}
	
	
	public ParameterDao getParameterDao() {
		return parameterDao;
	}

	public void setParameterDao(ParameterDao parameterDao) {
		this.parameterDao = parameterDao;
	}


}

		